﻿using System.Collections.ObjectModel;
using ChatClient.Models;

namespace ChatClient.Services
{
    public interface ISessionService
    {
        event Action<Participant> NewTextMessage;
        event Action<Participant> NewImageMessage;
        event Action<bool> IsConnectedChanged;

        string? UserName { get; set; }
        string? ProfilePic { get; set; }
        bool IsConnected { get; }
        bool IsLoggedIn { get; set; }

        ObservableCollection<Participant> Participants { get; }

        void Startup();
        void Shutdown();

        byte[] GetAvatar();
    }
}
